<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        //1.算术运算符

        //2.一元运算符

        //3.赋值运算符

        //4.比较运算符

        //5.逻辑运算符   短路逻辑
        // &&  两真为真  
        // ||  一真为真
        // ！  非真即假，非假即真  取反

        //6.运算符优先级

        //7.三元运算符   表达式 ？ 结果1 ： 结果2;
        //   ? 后为真   ：后为假
        // 题1: 检测变量a的类型，是字符串返回true，不是返回false;
        // var a = 3;
        // var res = typeof a == 'string' ? true : false;
        // console.log(res);

        /* 题2: 检测变量a的类型
         *      是数字: 判断是否小于10,小于10在前面补0,大于10原样输出
         *      不是数字:返回false;
         */
        // var res = typeof a == 'number' ? a < 10 ? '0' + a : a : false;
        // console.log(res);

        // 题3: 如果ageC小于ageA和ageB，则res为true，否则为false
        // var ageA = 40;
        // var ageB = 42;
        // var ageC = 20;
        // var res;

        // res = ageC < ageA && ageC < ageB ? true : false;
        // alert(res);

        // console.log(3 + 5 - 2); // 6
        // console.log(3 + true); // 4
        // console.log("3" + true); // '3true'
        // console.log(3 + undefined); // NaN
        // console.log("" + true); // 'true'
        // console.log(4 - 3 + "admin"); // '1admin'
        // console.log(5 + 2 + "2"); // '72'

        // var result1 = 5 - null + false; //  5
        // var result2 = "NaN" - 1 + 'abc'; // 'NaNabc'
        // var result3 = "3" + 5 - 3; // 32
        // var result4 = 5 - "" + true; // 6
        // var result5 = 5 - "2" + "abc"; // '3abc'
        // var result6 = 5 - null + 2; // 7

        // console.log(result1);
        // console.log(result2);
        // console.log(result3);
        // console.log(result4);
        // console.log(result5);
        // console.log(result6);

        // var a = 99;
        // var b = 100;
        // var c = a % b;
        // alert(c); //  99

        //5 + 22 / 2 % 2 结果是 ?   6

        // var a, b, c, d, e;
        // a = 3; //2
        // b = 10; //10
        // c = (--a) + (b++); // 12
        // d = (--b) - a; // 8
        // e = b / a + 3 - 2 % 4; // 6
        // //输出 c, d， e的结果值
        // console.log(c);
        // console.log(d);
        // console.log(e);

        // var a = 3.55;
        // var b = true;
        // var c = '1.o1';
        // var d = null;
        // var e;


        
        // // var res = +d + Boolean(Number(d)) * parseInt(a) + Boolean(String(e));
        // // console.log(res);

        // // var res = Boolean(parseInt(b)) - d - +'12' + parseInt(a).toString();
        // // console.log(res);

        // var res = +Boolean(parseFloat(c)) - isNaN(d) + typeof(e);
        // console.log(res);
    </script>
</body>

</html>